package com.qf.entity.po;

import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.MongoId;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 优惠券实体（一种优惠券  不是 一张优惠券）
 */
@Data
@Document(collection = "coupon")
public class Coupon {

    @MongoId
    private String id;
    //优惠券标题
    private String couponTitle;
    //优惠券备注信息
    private String couponInfo;
    //优惠券张数 -1 表示无限张
    private Integer number;
    //优惠券过期类型 （0-固定时间过期 1-领取失效过期）
    private Integer ttlType;
    //有效的开始时间（ttlType=0时生效）
    private Date beginTime;
    //有效的结束时间（ttlType=0时生效）
    private Date endTime;
    //有效的天数（ttlType=1时有效）
    private Integer days;

    //使用限制模板
    private List<TemplateInfo> limits;

    //优惠规则模板
    private TemplateInfo rule;

    /**
     * 关联模板的实体
     */
    @Data
    public static class TemplateInfo{
        //关联的模板id
        private String templateId;
        //模板对应的动态表单项的值
        private Map<String, Object> formItemsValue;
    }
}
